package io.github.chutian0610.sqlparser.token

/** Settings for tokenizing a quoted string literal.
 */
data class TokenizeQuotedStringSettings(
    /**
     * The character used to quote the string.
     */
    val quoteStyle: Char,
    /**
     * Represents how many quotes characters enclose the string literal.
     */
    val numQuoteChars: NumStringQuoteChars,
    /**
     * The number of opening quotes left to consume, before parsing the remaining string literal.
     * For example: given initial string `"""abc"""`. If the caller has already parsed the first quote for some reason,
     * then this value is set to 1, flagging to look to consume only 2 leading quotes.
     */
    val numOpeningQuotesToConsume: Int,
    /**
     * True if the string uses backslash escaping of special characters. e.g `'abc\ndef\'ghi'
     */
    val backslashEscape: Boolean
)
